Controlling and attenuating computational errors is directly related to the quality of products in many areas, including, telephony, electronic gamming, digital photography and imaging processing. For example, the accuracy of a fast Fourier transform (FFT) routine is directly related to the sound fidelity of reconstructed music or voice, and the accuracy of a discrete cosine transform (DCT) is directly related to the picture quality of a MPEG (motion pictures experts group) video sequence that a specific MPEG player can produce.
Developers of such computational programs often need to access the computational accuracy of their specific implementation. An important class of computation errors are those caused by the underlying computer arithmetic. For example, exact mathematical coefficients required in a transform cannot be represented exactly in the underlying computer arithmetic format, or that the product of two numbers has to be rounded to the underlying computer arithmetic format.
For the computational program related, but not limited to the products alluded to previously, linear transforms are dominant computational kernel. For linear transforms, all computational error can be attributed to those caused by computer arithmetic. Furthermore, fixed-point computer arithmetic is the dominant arithmetic format as hardware often uses an application specific microprocessor or a general purpose integer-based processor, such as Intel Xscale microprocessor. Hence, measurement of computational error of linear transform in fixed point arithmetic are crucial. Traditionally, such error measurements are performed manually or through testing, which require heavy time consuming efforts. In addition, traditional methods can only produce limited error measurements.